package br.affCorp.view;

import br.affCorp.model.UsuarioDTO;
import br.util.AFFCorpWebUtil;

public abstract class FacesAb {
	private UsuarioDTO usuarioDTO;

	protected abstract void inicializarFaces();

	protected abstract void inicializarDTO();

	protected abstract void inicializarFacade();

	public FacesAb() {
		this.colocarUsuarioNaSessao();
	}

	public UsuarioDTO getUsuarioDTO() {
		usuarioDTO = (UsuarioDTO) AFFCorpWebUtil
				.getObjectInSession("usuarioDTO");
		return usuarioDTO;
	}

	public void setUsuarioDTO(UsuarioDTO usuarioDTO) {
		AFFCorpWebUtil.addObjectInSession("usuarioDTO", usuarioDTO);
		this.usuarioDTO = usuarioDTO;
	}

	private void colocarUsuarioNaSessao() {
		usuarioDTO = (UsuarioDTO) AFFCorpWebUtil
				.getObjectInSession("usuarioDTO");

		if (AFFCorpWebUtil.isNullOrEmpty(usuarioDTO)) {
			AFFCorpWebUtil.addObjectInSession("usuarioDTO", usuarioDTO);
		}

	}

}
